A discrete event simulation can generate millions or hundreds of millions of individual transactions in a simulation system. If the system attempts to record all of these transactions for post processing later, millions or hundreds of millions of transactions must be recorded to a transaction database. Recording each of these transactions provides a complete snapshot of system activity in a design, but there are severe problems associated with recording such a large data set, e.g., memory capacity, data manageability, tractability, searchability, and visualization, etc.
Several approaches have been made to efficiently record, track, and search, and visualize large amount of transaction data. One approach is to record for only certain amounts of time, short bursts of recording during interesting time intervals. However, this approach does not capture all of the transaction data during simulation so data of a particular interest may be missed, especially if transaction data are recorded as an exploratory activity.
Another approach is to record the transaction data in an efficient binary data format. However, even with an efficient storage, the amount of data being recorded is still too large to make difficult management, search, and visualization of the data for post processing.
None of these approaches makes efficient storage and usage of the transaction-level data as they record a complete history of transaction data in a discrete event simulation.
The present invention provides benefits and solutions in compacting transaction records and controlling granularity of transaction recording for facilitating visualization of system performance or behavior in a discrete simulation environment.